ServiceWorkerRegistration

Baseline Widely available *

This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2018.

* Some parts of this feature may have varying levels of support.

Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.

Hinweis: Diese Funktion ist in Web Workers verfügbar.

Das ServiceWorkerRegistration-Interface der Service Worker API repräsentiert die Registrierung des Service Workers. Sie registrieren einen Service Worker, um eine oder mehrere Seiten zu steuern, die den gleichen Ursprung teilen.

Die Lebensdauer einer Service Worker-Registrierung überdauert die von ServiceWorkerRegistration-Objekten, die sie innerhalb der Lebensdauer ihrer entsprechenden Service Worker-Clients darstellen. Der Browser führt eine persistente Liste aktiver ServiceWorkerRegistration-Objekte.

EventTarget ServiceWorkerRegistration

Instanz-Eigenschaften

Erbt auch Eigenschaften von seinem Eltern-Interface, EventTarget.

ServiceWorkerRegistration.active Schreibgeschützt

Gibt einen Service Worker zurück, dessen Zustand activating oder activated ist. Dies ist anfangs auf null gesetzt. Ein aktiver Worker wird einen Client steuern, wenn die URL des Clients in den Umfang der Registrierung fällt (die scope-Option, die gesetzt wird, wenn ServiceWorkerContainer.register zum ersten Mal aufgerufen wird.)

ServiceWorkerRegistration.backgroundFetch Schreibgeschützt Experimentell

Gibt eine Referenz auf ein BackgroundFetchManager-Objekt zurück, das Hintergrundabrufvorgänge verwaltet.

ServiceWorkerRegistration.cookies Schreibgeschützt

Gibt eine Referenz auf die CookieStoreManager-Schnittstelle zurück, die das Abonnieren und Abbestellen von Cookie-Änderungsereignissen ermöglicht.

ServiceWorkerRegistration.index Schreibgeschützt Experimentell

Gibt eine Referenz auf die ContentIndex-Schnittstelle zurück, zum Verwalten von indizierten Inhalten für die Offline-Ansicht.

ServiceWorkerRegistration.installing Schreibgeschützt

Gibt einen Service Worker zurück, dessen Zustand installing ist. Dies ist anfangs auf null gesetzt.

ServiceWorkerRegistration.navigationPreload Schreibgeschützt

Gibt die Instanz von NavigationPreloadManager zurück, die mit der aktuellen Service Worker-Registrierung assoziiert ist.

ServiceWorkerRegistration.paymentManager Schreibgeschützt Experimentell

Gibt die Instanz eines Zahlungs-Apps [PaymentManager`](/de/docs/Web/API/PaymentManager) zurück, die verwendet wird, um verschiedene Funktionen der Zahlungs-App zu verwalten.

ServiceWorkerRegistration.periodicSync Schreibgeschützt Experimentell

Gibt eine Referenz auf die PeriodicSyncManager-Schnittstelle zurück, die das Registrieren von Aufgaben ermöglicht, die in bestimmten Intervallen ausgeführt werden sollen.

ServiceWorkerRegistration.pushManager Schreibgeschützt

Gibt eine Referenz auf die PushManager-Schnittstelle zurück, um Push-Abonnements zu verwalten, einschließlich Abonnieren, Abrufen eines aktiven Abonnements und Zugreifen auf den Push-Berechtigungsstatus.

ServiceWorkerRegistration.scope Schreibgeschützt

Gibt einen String zurück, der eine URL repräsentiert, die den Registrierungsumfang eines Service Workers definiert; das bedeutet, den Bereich von URLs, die der Service Worker steuern kann.

ServiceWorkerRegistration.sync Schreibgeschützt

Gibt eine Referenz auf die SyncManager-Schnittstelle zurück, die Hintergrundsynchronisierungsprozesse verwaltet.

ServiceWorkerRegistration.updateViaCache Schreibgeschützt

Gibt den Wert der Einstellung zurück, die bestimmt, unter welchen Umständen der Browser den HTTP-Cache heranzieht, wenn er versucht, den Service Worker oder Skripte, die über importScripts() importiert werden, zu aktualisieren. Es kann einer der folgenden sein: imports, all oder none.

ServiceWorkerRegistration.waiting Schreibgeschützt

Gibt einen Service Worker zurück, dessen Zustand installed ist. Dies ist anfangs auf null gesetzt.

Instanz-Methoden

Erbt auch Methoden von seinem Eltern-Interface, EventTarget.

ServiceWorkerRegistration.getNotifications()

Gibt eine Liste der Benachrichtigungen in der Reihenfolge zurück, in der sie über den aktuellen Ursprung über die aktuelle Service Worker-Registrierung erstellt wurden.

ServiceWorkerRegistration.showNotification()

Zeigt die Benachrichtigung mit dem angeforderten Titel an.

ServiceWorkerRegistration.unregister()

Hebt die Registrierung des Service Workers auf und gibt ein Promise zurück. Der Service Worker wird alle laufenden Operationen abschließen, bevor er registriert wird.

ServiceWorkerRegistration.update()

Überprüft den Server auf eine aktualisierte Version des Service Workers, ohne die Caches zu konsultieren.

Ereignisse

updatefound

Wird ausgelöst, wenn immer die ServiceWorkerRegistration.installing-Eigenschaft einen neuen Service Worker erhält.

Beispiele

In diesem Beispiel überprüft der Code zunächst, ob der Browser Service Worker unterstützt, und registriert dann einen, falls ja. Anschließend wird ein updatefound-Listener hinzugefügt, in dem die Service Worker-Registrierung verwendet wird, um auf weitere Änderungen im Zustand des Service Workers zu lauschen. Wenn sich der Service Worker seit der letzten Registrierung nicht geändert hat, wird das updatefound-Ereignis nicht ausgelöst.

js
if ("serviceWorker" in navigator) {
  navigator.serviceWorker
    .register("/sw.js")
    .then((registration) => {
      registration.addEventListener("updatefound", () => {
        // If updatefound is fired, it means that there's
        // a new service worker being installed.
        const installingWorker = registration.installing;
        console.log(
          "A new service worker is being installed:",
          installingWorker,
        );

        // You can listen for changes to the installing service worker's
        // state via installingWorker.onstatechange
      });
    })
    .catch((error) => {
      console.error(`Service worker registration failed: ${error}`);
    });
} else {
  console.error("Service workers are not supported.");
}

Spezifikationen

Specification
Service Workers
# serviceworkerregistration-interface
Push API
# extensions-to-the-serviceworkerregistration-interface

Browser-Kompatibilität

Siehe auch